文章目录
  1. 1. 1.分析javascript
  2. 2. 2.基本语法知识
  3. 3. 3.对象
  4. 4. 4.函数
  5. 5. 5.继承(继承模式:没法保护隐私)
  6. 6. 6.数组

the good parts

第一章

1.分析javascript

函数/弱类型/动态对象/对象字面量
函数基于词法作用域(权威指南8.8.1)

第二章

2.基本语法知识

总:空白,标识符,数字,字符串(16位),语句(每个script标签提供一个编译且立即执行的编译单元)变量应该被定义在函数的头部。表达式,字面量(属性名可以是字符串和标识符,对象,数组,函数,正则表达式 )
注意:

  • 语句:视为假的值有:false,null,undefined,空字符串,NaN,数值0;其他所有的值都被当作真;for in语句,try-catch语句,throw 语句
  • typeof取值:number,string,boolean,object,function,undefined。
  • 运算符的结合性:一元/赋值/三元条件运算符结合性从右到左,(权威指南5.2.4运算符的结合性);“%”求余和求模的区别

第三章 对象

3.对象

  • 对象字面量:名/值对,检索(从undefined的成员属性中取值会导致TypeError错误,此时可以利用&& 来避免错误);更新:扩充和替换;引用:对象通过引用来传递,它们永远不会被复制
  • 原型和委托(随着原型一层一层的寻找需要的属性)
  • 反射(访问对象属性的值):hasOwnProperty()返回布尔值,不会检查原型链
  • 枚举:常用的过滤器有hasOwnProperty(),typeof用来排除函数。
  • 删除 delete
  • 减少全局变量污染:最小化使用全局变量(只创建一个唯一的全局变量)

第四章 函数

4.函数

  • 所谓编程就是将一组需求分解成一组函数与数据结构的技能。
  • 函数对象:每个函数在创建时会附加两个隐藏的属性:函数的上下文和实现函数行为的代码
  • 通过函数字面量创建的函数对象包含一个连到外部上下文的链接,这被称为闭包。
  • 调用: 函数在调用时,会接收两个附加的参数:this和arguments,this 的值取决于调用模式(方法调用模式,函数调用模式,构造器调用模式,apply调用模式)
    四种调用方式:
  • 方法调用模式:当一个函数被保存为对象的一个属性,称它为方法,当此方法被调用时,this被绑到该对象
  • 函数调用模式:不是对像的属性时,this被绑定到全局对象。解决方法:将this赋给that 变量
  • 构造器调用模式:如果一个函数前面带上new,背地里创建一个链接到该函数prototype成员的新对象,同时this会被绑定到该对象上。
  • Apply 调用模式 :apply()接受的两个参数:1.绑定到this上的值,2.参数数组;

  • 其他:参数,返回,异常,扩充类型的功能(如给Number类型扩充integer方法等),递归(函数自身调用自身),作用域(作用:减少名称冲突,提供自动内存管理,因为没有块级作用域,最好在函数体的顶部声明函数中可能用到的所有变量),闭包(私有变量,包在一个函数体里)

  • 闭包 注意点:避免在循环中创建函数。
  • 回调的概念:找相关例子。
  • 模块:使用函数和闭包来构造模块,是一个提供接口却隐藏状态与实现的函数或对像。模块模式的一般形式:一个定义了私有变量和函数的函数,利用闭包创建可以访问私有变量和函数的特权函数,最后返回这个特权函数,或将其保存到一个可以访问的地方。什么是单例模式(对象字面量创建的对象)?
  • 级联:一些方法没有返回值,如果让这些方法返回this而不是undefined,就可以启用级联。可产生出极富表现力的接口。
  • 柯里化
  • 记忆:将先前操作的结果记录在某个对象中,(数组或对象)

第五章 继承

5.继承(继承模式:没法保护隐私)

  • 伪类
  • 对象说明符:可以将json对象传递给一个构造器,将返回一个构造完全的对象。
  • 原型:差异化继承是什么。
  • 函数化:应用模块模式保护函数隐私。更好的封装和信息隐藏。
  • 部件:把对象组装起来。

第六章 数组

6.数组

  • length:(参考权威指南7.2 数组元素的读和写),【】将其中的表达式转换成一个字符串;设置更大的length值不会给数组分配更多的空间,设小则会删除一些元素。
  • 删除数组中的一个元素 :delete与splice的区别。
  • 数组的一些方法
文章目录
  1. 1. 1.分析javascript
  2. 2. 2.基本语法知识
  3. 3. 3.对象
  4. 4. 4.函数
  5. 5. 5.继承(继承模式:没法保护隐私)
  6. 6. 6.数组